home *** CD-ROM | disk | FTP | other *** search
- ; *****************[ BBS List PPE -- [09/13/93] ]******************
- ;
- ; v 0.1 First Attempt / Beta
- ; v 0.2 Few Simple Cosmetic Changes
- ; v 0.3 Bug Fixes / Cosmetic Changes
- ; v 0.4 More Bug Fixes
- ; v 0.5 After the 'A'dd a BBS is completed, it defaults to the PPE Menu
- ; v 0.6 Cosmetic Changes, Fixed One Node problem, and fixed "Megs" problem
- ; Slight optimization of code
- ; v 0.7 Added 'Q'uit / Failed to answer Checking to some questions asked
- ; during the "A"dd a BBS Process
- ; v 0.8 User Configurability of Colors (of BBS.LST) has been made VERY easy
- ; v 0.9 Cut Code size from 17k to 10k -- Added easy ability to edit modem
- ; types.
- ; v0.9a Added Logging of When user exits [PPE], or posts a new BBS.
- ; v 1.0 Program has run stable for a week now. Cosmetic Changes. 08/20/93
- ; v 1.1 Cosmetic Changes - Added "Add your own BBS Type" Feature, Also
- ; Maintenance release in response to other BBS lists magically
- ; "forming" after this was released with source code.
- ; v 1.2 MAJOR update -- "S"earch by Area Code has been added!.
- ; International Support to be added, as I require more info. on
- ; how international calls work.
- ; v1.3a Working on additional search routines. Search by [Different things]
- ; Menu added. Added some insurance to the Area Code Search, so
- ; it wouldn't pick up a comment line, or BBS Name.
- ; v1.3b Added logging so that a when a user adds a BBS to the list, it is
- ; outputted to a file (BBS.LOG).
- ; v1.3c Fixed a couple bugs.
- ; v1.3d Added "Define your own Modem Type"
- ; v 1.4 Enhanced the 'L'ist commands, and 'S'earch (Area Code) commands, so
- ; that it now properly chops off screen sizes. Will add more
- ; "smart" features to it soon.
- ; v1.4a Slight code adjustment ; 2 bug fixes
- ; (ADD "press a key to continue , 'Q' to quit to search menu)
- ; v 1.5 First attempt at a BBS Software Search (more like a string search)
- ; -- Fixed a typo in the BBS Type Conversion (# -> Variable)
- ; v1.5a AHHH.. Software Search now seems stable. Added custom BBS Type
- ; search. Also fixed a bug in the Search menu.
- ; v1.5b This is here to explain something. The "REGISTRATION" that occurs
- ; of this program to make it customizable is that every sysop
- ; should purchase a copy of the PPLC.EXE compiler for PCBoard.
- ; I also cleaned up a few small things "noted to me" by another
- ; PPE author who illegally took my source code from 1.5a and
- ; modified it.
- ; - Fixed another bug with the (S)oftware Search command
- ; - Added Extra "Error Correction" for BBS Type (Controls)
- ; v 1.6 The Software Search command is running completely now. I have made
- ; those few code changes as noted by the "other author" --
- ; converting all PRINTLN "@WAIT@"'s into WAIT commands. A few
- ; other changes -- arrays may come into play if neccessary.
- ; v 1.7 First attempt at adding BBS.CFG. Working on bugs.
- ; v1.7a Added checking for Modem Type..
- ; v1.7b Added Version Checking, Debugging BBS.CFG Still..
- ; v1.7c BBS.CFG Checking Complete, There is a small bug still remaining in
- ; the modem type. It does not erase over the modem type #. It
- ; has been temporarily patched, until a suitable technique has
- ; been found.
- ; v1.7d Few Changes, Small Bug Fix
- ; v1.7e Bug Fixes(Several!) -- Modifications (Define Your own Modem Type).
- ; v1.7f Few Changes to internal code.
- ;********************
- ; v 1.8 FIRST Update since 11/11/93. Fixed Some Bugs, Re-released.
- ;
- ; Disclaimer : This source code may be modified in ANY way for private
- ; or individual use. I do not claim responsibility for
- ; ANY damages that might result because of it's use.
- ; This program is freeware. It however, may NOT be
- ; distributed or resold after modification has been made
- ; to it.
-
- STRING YIII
- STRING modem_type
- STRING comment
- STRING main_bbs_command
- STRING space_type
- STRING bbs_name
- STRING header1
- STRING header2
- STRING header3
- STRING header4
- STRING line
- STRING arealine
- STRING n1m
- STRING n2m
- STRING n3m
- STRING n4m
- STRING n5m
- STRING n6m
- STRING n7m
- STRING n8m
- STRING n9m
- STRING otl_1
- STRING otl_2
- STRING otl_3
- STRING otl_4
- STRING otl_5
- STRING otl_6
- STRING otl_7
- STRING otl_8
- STRING otl_9
- STRING bbs_capacity
- STRING bbs_c_gigs
- STRING add_to_list
- STRING bbscfg
- STRING node1
- STRING node2
- STRING node3
- STRING node4
- STRING node5
- STRING node6
- STRING node7
- STRING node8
- STRING node9
- STRING N1
- STRING N2
- STRING N3
- STRING N4
- STRING N5
- STRING N6
- STRING N7
- STRING N8
- STRING N9
- STRING bbs_ss
- STRING nodes
- STRING capacity
- STRING lst_name
- STRING lst_spac
- STRING lst_bbst
- STRING lst_node
- STRING lst_idnt
- STRING lst_pare
- STRING lst_area
- STRING lst_dash
- STRING lst_pref
- STRING lst_suff
- STRING lst_mdmt
- STRING lst_cmnt
- STRING mtype
- STRING areacode
- STRING areasearch_p
- STRING areasearch_s
- STRING areasearch_z
- STRING search_pmt
- STRING lll
- STRING dfmodem
- STRING liststr
- INTEGER YIIT
- INTEGER tempvar
- INTEGER modemnum
- INTEGER bbs_s
- INTEGER sys_level
- INTEGER listcounter
-
- ;*****************************************************************************
- ; User Configurable Options
- ;*****************************************************************************
- ; The following are configurable colors for the BBS.LST output file :
-
- ; This is now handled via BBS.CFG. Please edit this to change your colors
- ; and any other options.
-
- ;LET lst_name = "@X0A" ; BBS Name (Default = @X0A)
- ;LET lst_spac = "@X0B" ; Capacity (Default = @X0B)
- ;LET lst_bbst = "@X0C" ; BBS Type (Default = @X0C)
- ;LET lst_node = "@X0D" ; #/ Nodes (Default = @X0D)
- ;LET lst_idnt = "@X0F" ; 'Node x' (Default = @X0F)
- ;LET lst_pare = "@X09" ; ()'s (Default = @X09)
- ;LET lst_dash = "@X09" ; x - xxxx (Default = @X09)
- ;LET lst_area = "@X0B" ; AreaCode (Default = @X0B)
- ;LET lst_pref = "@X03" ; Prefix (Default = @X03)
- ;LET lst_suff = "@X03" ; Suffix (Default = @X03)
- ;LET lst_mdmt = "@X07" ; Mdm Type (Default = @X07)
- ;LET lst_cmnt = "@X09" ; CmntLine (Default = @X09)
-
- IF (VER() < 1510) PRINTLN "@X0CSorry. You must be running Atleast PCBoard v15.1!"
- IF (VER() < 1510) NEWLINES 2
- IF (VER() < 1510) END
-
- LET BBSCFG = "" ; Just incase
-
- FOPEN 1,PPEPATH()+"BBS.CFG",O_RW,S_DN
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_name=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_spac=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_bbst=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_node=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_idnt=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_pare=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_dash=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_area=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_pref=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- LET lst_suff=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- let lst_mdmt=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- let lst_cmnt=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FGET 1,BBSCFG
- let sys_level=left(bbscfg,4)
- IF (FERR(1)) GOTO FE
- FCLOSE 1
-
- :NEXTTTTT
- ;LET sys_level = 110 ; Sysop level (to view the log)
-
- ;*****************************************************************************
- ; Note : Go to the very end to edit the modem types. You may also add/edit
- ; BBS Types by going to the BBS_TYPE routine!
- ;*****************************************************************************
- LET areasearch_p = lst_pare+"("+lst_area
- LET areasearch_s = lst_pare+")"
-
- :TOP
- CLS
- LET YIII=0
- LET YIIT=0
- LET main_bbs_command = ""
- LET sys_level = sys_level - 1
- DISPFILE PPEPATH()+"BBS.MNU",0
- GETUSER
- IF (cursec() > sys_level) DISPFILE PPEPATH()+"BBS.SYS",0
- NEWLINE
- INPUTSTR "Your Selection :",main_bbs_command,@X03,1,"alhsqvALHSQV",UPCASE+NEWLINE
-
- IF (main_bbs_command = "H") THEN
- goto TOP
- ELSEIF (main_bbs_command = "Q") THEN
- goto THEEND
- ELSEIF (main_bbs_command = "L") THEN
- goto LIST
- ELSEIF (main_bbs_command = "A") THEN
- goto ADD
- ELSEIF (main_bbs_command = "") THEN
- goto TOP
- ELSEIF (main_bbs_command = "S") THEN
- goto SEARCH
- ELSEIF (main_bbs_command = "V") THEN
- goto VIEWLOG
- ENDIF
-
- :VIEWLOG
- CLS
- DISPFILE PPEPATH()+"BBS.LOG",0
- NEWLINE
- WAIT
- GOTO TOP
-
- :SEARCH
- CLS
- DISPFILE PPEPATH()+"BBS.SMN",0
- NEWLINE
- INPUTSTR "Your Selection :",search_pmt,@X03, 1, "ARSQarsq",UPCASE+NEWLINE
- CLS
-
- IF (search_pmt = "A") THEN
- goto AACODE
- ELSEIF (search_pmt = "R") THEN
- goto RS_SEARCH
- ELSEIF (search_pmt = "S") THEN
- goto BBSEARCH
- ELSEIF (search_pmt = "Q") THEN
- goto TOP
- ELSEIF (search_pmt = "") THEN
- goto SEARCH
- ENDIF
-
- :RS_SEARCH
- CLS
- PRINTLN "@X0CThis Feature Under Construction. This should be available in "
- PRINTLN "Version 1.8."
- NEWLINES 2
- WAIT
- GOTO SEARCH
- :BBSEARCH
- CLS
- DISPFILE PPEPATH()+"BBS.BBS",0
- INPUTINT "@X0F BBS Type String to Search for ",bbs_s,@X03
- LET YIIT=0
- LET YIII=1
- GOSUB BBSS
- IF (BBS_SS = "INVALID") GOSUB INVALID_BBSTYPE
- IF (BBS_SS = "INVALID") GOTO BBSEARCH
- CLS
- LET YIII=1
- LET header1 = " @X0BSearching for BBS Type : @X0F"+bbs_ss
- LET listcounter = 0
- FOPEN 1,PPEPATH()+"BBS.LST",O_RD,S_DW
- FGET 1,arealine
- LET header2 = arealine
- FGET 1,arealine
- LET header3 = arealine
- FGET 1,arealine
- LET header4 = arealine
- WHILE (!FERR(1)) DO
- PRINTLN header1
- INC listcounter
- NEWLINE
- INC listcounter
- PRINTLN header2
- INC listcounter
- PRINTLN header3
- INC listcounter
- PRINTLN header4
- INC listcounter
- LET tempvar=0
- FGET 1,arealine
- IF (FERR(1)) GOTO HMMMM
- WHILE (U_PAGELEN-3 > listcounter) DO
- IF (INSTR(arealine,lst_bbst+bbs_ss)) PRINTLN arealine
- IF (INSTR(arealine,lst_bbst+bbs_ss)) INC listcounter
- IF (INSTR(arealine,lst_bbst+bbs_ss)) LET TEMPVAR=1
- IF (!INSTR(arealine,lst_bbst+bbs_ss)) LET TEMPVAR=3
- IF (TEMPVAR=1) FGET 1,arealine ; second line
- IF (TEMPVAR=1) PRINTLN arealine ; if first is
- IF (TEMPVAR=1) INC listcounter ; printed
- WHILE (TEMPVAR=1) DO
- FGET 1,arealine
- IF (LEFT(arealine,4)=lst_name) LET TEMPVAR=2
- IF (!LEFT(arealine,4)=lst_name) PRINTLN arealine
- IF (!LEFT(arealine,4)=lst_name) INC listcounter
- IF (FERR(1)) GOTO HMMMM
- ENDWHILE
- IF (TEMPVAR=3) FGET 1,arealine
- IF (FERR(1)) GOTO HMMMM
- ENDWHILE
- IF (FERR(1)) GOTO HMMMM
- LET LISTCOUNTER = 0
- NEWLINE
- WAIT
- CLS
- ENDWHILE
- :HMMMM
- NEWLINE
- WAIT
- FCLOSE 1
- GOTO TOP
-
-
- :AACODE
- CLS
- INPUTTEXT "@X0F Area Code to Search ",areacode,@X03,3
- CLS
- ;PRINTLN " @X0BSearching for Area Code @X0F"+areacode
- LET areasearch_z = areasearch_p+areacode+areasearch_s
- FOPEN 1,PPEPATH()+"BBS.LST",O_RD,S_DW
- LET listcounter = 0
- LET header1 = " @X0BSearching for Area Code @X0F"+areacode
- FGET 1,arealine
- LET header2 = arealine
- FGET 1,arealine
- LET header3 = arealine
- FGET 1,arealine
- LET header4 = arealine
- WHILE (!FERR(1)) DO
- PRINTLN header1
- INC listcounter
- NEWLINE
- INC listcounter
- PRINTLN header2
- INC listcounter
- PRINTLN header3
- INC listcounter
- PRINTLN header4
- INC listcounter
- PRINTLN listcounter
- WHILE (U_PAGELEN-3 > listcounter) DO
- FGET 1,arealine
- IF (INSTR(arealine,areasearch_z)) PRINTLN arealine
- IF (INSTR(arealine,areasearch_z)) INC listcounter
- IF (FERR(1)) GOTO HMMM
- ENDWHILE
- LET listcounter = 0
- NEWLINE
- WAIT
- CLS
- ENDWHILE
- :HMMM
- NEWLINE
- WAIT
- FCLOSE 1
- GOTO TOP
-
- :LIST
- CLS
- let listcounter = 0
- FOPEN 1,PPEPATH()+"BBS.LST",O_RW,S_DN
- FGET 1,liststr
- let header1 = liststr
- FGET 1,liststr
- let header2 = liststr
- FGET 1,liststr
- let header3 = liststr
- WHILE (!FERR(1)) DO
- PRINTLN header1
- INC listcounter
- PRINTLN header2
- INC listcounter
- PRINTLN header3
- INC listcounter
-
- WHILE (U_PAGELEN-3 > listcounter) DO
- INC listcounter
- FGET 1,liststr
- PRINTLN liststr
- ENDWHILE
-
- NEWLINE
- WAIT
- CLS
- LISTCOUNTER = 0
- ENDWHILE
- FCLOSE 1
-
- ;DISPFILE PPEPATH()+"BBS.LST",0
- ;NEWLINE
- ;WAIT
- GOTO TOP
-
- :ADD
- CLS
- DISPFILE PPEPATH()+"BBS.ADD",0
- LET lll = ""
-
- INPUTTEXT " [BBS Name (20 Chars)]",bbs_name,@X03,20
- IF (bbs_name = "Q") goto TOP
- IF (bbs_name = "q") goto TOP
- IF (bbs_name = "") goto ADD
-
- :SIZE
- NEWLINE
- NEWLINE
- INPUTTEXT " [Does This BBS have > 1 Gig]",space_type,@X03,1
- IF (space_type = "N") goto MEGS
- IF (space_type = "n") goto MEGS
- IF (space_type = "Y") goto GIGS
- IF (space_type = "y") goto GIGS
- IF (space_type = "Q") goto TOP
- IF (space_type = "q") goto TOP
- IF (space_type = "") goto SIZE
- goto SIZE
-
- :MEGS
- NEWLINE
- NEWLINE
- PRINTLN " Enter in Format : @X0A653"
- INPUTTEXT " [Storage Capacity (Megs)]",capacity,@X03,3
- IF (capacity = "Q") goto TOP
- IF (capacity = "q") goto TOP
- IF (capacity = "") goto MEGS
- LET BBS_CAPACITY = capacity+" Megs"
- GOTO CONT
- :GIGS
- NEWLINE
- NEWLINE
- PRINTLN " Enter in Format : @X0A1.2"
- INPUTTEXT " [Storage Capacity (Gigs)]",bbs_c_gigs,@X03,3
- LET BBS_CAPACITY = BBS_C_GIGS+" Gigs"
- IF (bbs_c_gigs = "Q") goto TOP
- IF (bbs_c_gigs = "q") goto TOP
- IF (bbs_c_gigs = "") goto GIGS
-
- GOTO CONT
-
- :CONT
- NEWLINE
- NEWLINE
- INPUTTEXT " Number of Nodes [#]",nodes,@X03,2
- IF (nodes = "Q") goto TOP
- IF (nodes = "q") goto TOP
- IF (nodes = "") goto CONT
- CLS
- NEWLINE
- DISPFILE PPEPATH()+"BBS.MDM",0
- NEWLINE
- PRINTLN "@X07Enter Node Numbers as Follows : @X0D(609)853-8084"
- PRINTLN "@X07Up to Nine Nodes will be Listed in the BBS List"
- PRINTLN "@X07Please Include the @X0F(@X08xxx@X0F)@X08xxx@X0F-@X08xxxx@X07."
- NEWLINE
-
- :MODEMTYPE
-
- PRINT "Node 1: "
- INPUTSTR "",node1,@X03,13,MASK_ASCII(),0
- :MT1
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT1
- LET n1m = mtype
- NEWLINE
- IF (nodes = "1") goto CHECK
- PRINT "Node 2: "
- INPUTTEXT "",node2,@X03,13
- :MT2
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT2
- LET n2m = mtype
- IF (nodes = "2") goto CHECK
- NEWLINE
- PRINT "Node 3: "
- INPUTTEXT "",node3,@X03,13
- :MT3
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT3
- LET n3m = mtype
- IF (nodes = "3") goto CHECK
- NEWLINE
- PRINT "Node 4: "
- INPUTTEXT "",node4,@X03,13
- :MT4
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT4
- LET n4m = mtype
- IF (nodes = "4") goto CHECK
- NEWLINE
- PRINT "Node 5: "
- INPUTTEXT "",node5,@X03,13
- :MT5
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT5
- LET n5m = mtype
- IF (nodes = "5") goto CHECK
- NEWLINE
- PRINT "Node 6: "
- INPUTTEXT "",node6,@X03,13
- :MT6
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT6
- let n6m = mtype
- IF (nodes = "6") goto CHECK
- NEWLINE
- PRINT "Node 7: "
- INPUTTEXT "",node7,@X03,13
- :MT7
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT7
- let n7m = mtype
- IF (nodes = "7") goto CHECK
- NEWLINE
- PRINT "Node 8: "
- INPUTTEXT "",node8,@X03,13
- :MT8
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT8
- let n8m = mtype
- IF (nodes = "8") goto CHECK
- NEWLINE
- PRINT "Node 9: "
- INPUTTEXT "",node9,@X03,13
- :MT9
- GOSUB MMTYPE
- GOSUB modemz
- IF (MTYPE = "INVALID") GOTO MT9
- let n9m = mtype
-
- :check
- NEWLINE
- NEWLINE
- PRINTLN "Enter a Comment about your BBS : (44 Chars Max)"
- INPUTTEXT "",comment,@X03,44
- CLS
- DISPFILE PPEPATH()+"BBS.BBS",0
- :BBS_TYPE
- INPUTINT "Which BBS Software are you running",BBS_S,@X03
- LET YIIT = 1
- :BBSS
- IF (bbs_s = 1) THEN
- let bbs_ss = "PCBoard"
- ELSEIF (bbs_s < 0) THEN
- let bbs_ss = "INVALID"
- ELSEIF (bbs_s > 25) THEN
- let bbs_ss = "INVALID"
- ELSEIF (bbs_s = 2) THEN
- let bbs_ss = "Renegade"
- ELSEIF (bbs_s = 3) THEN
- let bbs_ss = "OBV/2"
- ELSEIF (bbs_s = 4) THEN
- let bbs_ss = "WWIV"
- ELSEIF (bbs_s = 5) THEN
- let bbs_ss = "GAP"
- ELSEIF (bbs_s = 6) THEN
- let bbs_ss = "Wildcat"
- ELSEIF (bbs_s = 7) THEN
- let bbs_ss = "Forum"
- ELSEIF (bbs_s = 8) THEN
- let bbs_ss = "LSD"
- ELSEIF (bbs_s = 9) THEN
- let bbs_ss = "PCExpres"
- ELSEIF (bbs_s = 10) THEN
- let bbs_ss = "BBSExprs"
- ELSEIF (bbs_s = 11) THEN
- let bbs_ss = "Hermes"
- ELSEIF (bbs_s = 12) THEN
- let bbs_ss = "C-Net"
- ELSEIF (bbs_s = 13) THEN
- let bbs_ss = "Quiver"
- ELSEIF (bbs_s = 14) THEN
- let bbs_ss = "Forem"
- ELSEIF (bbs_s = 15) THEN
- let bbs_ss = "Srchlght"
- ELSEIF (bbs_s = 16) THEN
- let bbs_ss = "UltraBBS"
- ELSEIF (bbs_s = 17) THEN
- let bbs_ss = "PRODoor"
- ELSEIF (bbs_s = 18) THEN
- let bbs_ss = "MajorBBS"
- ELSEIF (bbs_s = 19) THEN
- let bbs_ss = "VBBS"
- ELSEIF (bbs_s = 20) THEN
- let bbs_ss = "Vision/X"
- ELSEIF (bbs_s = 21) THEN
- let bbs_ss = "Vision/2"
- ELSEIF (bbs_s = 22) THEN
- let bbs_ss = "SabrGard"
- ELSEIF (bbs_s = 23) THEN
- let bbs_ss = "Fusion"
- ELSEIF (bbs_s = 24) THEN
- let bbs_ss = "TurboBBS"
- ELSEIF (bbs_s = 25) THEN
- let bbs_ss = "RadioacT"
- ENDIF
- IF (bbs_s = 99) THEN
- let bbs_ss = ""
- gosub defineyourown
- ENDIF
- IF (YIIT=0) RETURN
- GOTO newlinenext
- :defineyourown
- NEWLINE
- CLS
- DISPFILE PPEPATH()+"BBS.DYO",0
- INPUTSTR "Enter Abreviated BBS Name :",bbs_ss,@X0F,8,MASK_ALNUM(),NEWLINE
- IF (YIII=1) RETURN
- :newlinenext
- IF (BBS_SS = "INVALID") GOSUB INVALID_BBSTYPE
- IF (BBS_SS = "INVALID") GOTO BBS_TYPE
- NEWLINE
- LET N1 = lst_pare+LEFT(node1,1)+lst_area+MID(node1,2,3)+lst_pare+MID(node1,5,1)+lst_pref+MID(node1,6,3)+lst_dash+MID(node1,9,1)+"@X03"+RIGHT(node1,4)
- LET N2 = lst_pare+LEFT(node2,1)+lst_area+MID(node2,2,3)+lst_pare+MID(node2,5,1)+lst_pref+MID(node2,6,3)+lst_dash+MID(node2,9,1)+"@X03"+RIGHT(node2,4)
- LET N3 = lst_pare+LEFT(node3,1)+lst_area+MID(node3,2,3)+lst_pare+MID(node3,5,1)+lst_pref+MID(node3,6,3)+lst_dash+MID(node3,9,1)+"@X03"+RIGHT(node3,4)
- LET N4 = lst_pare+LEFT(node4,1)+lst_area+MID(node4,2,3)+lst_pare+MID(node4,5,1)+lst_pref+MID(node4,6,3)+lst_dash+MID(node4,9,1)+"@X03"+RIGHT(node4,4)
- LET N5 = lst_pare+LEFT(node5,1)+lst_area+MID(node5,2,3)+lst_pare+MID(node5,5,1)+lst_pref+MID(node5,6,3)+lst_dash+MID(node5,9,1)+"@X03"+RIGHT(node5,4)
- LET N6 = lst_pare+LEFT(node6,1)+lst_area+MID(node6,2,3)+lst_pare+MID(node6,5,1)+lst_pref+MID(node6,6,3)+lst_dash+MID(node6,9,1)+"@X03"+RIGHT(node6,4)
- LET N7 = lst_pare+LEFT(node7,1)+lst_area+MID(node7,2,3)+lst_pare+MID(node7,5,1)+lst_pref+MID(node7,6,3)+lst_dash+MID(node7,9,1)+"@X03"+RIGHT(node7,4)
- LET N8 = lst_pare+LEFT(node8,1)+lst_area+MID(node8,2,3)+lst_pare+MID(node8,5,1)+lst_pref+MID(node8,6,3)+lst_dash+MID(node8,9,1)+"@X03"+RIGHT(node8,4)
- LET N9 = lst_pare+LEFT(node9,1)+lst_area+MID(node9,2,3)+lst_pare+MID(node9,5,1)+lst_pref+MID(node9,6,3)+lst_dash+MID(node9,9,1)+"@X03"+RIGHT(node9,4)
-
- CLS
- PRINTLN " Your List will look like this : "
- NEWLINE
- let otl_1 = lst_name+bbs_name+"@POS:22@"+lst_spac+bbs_capacity+"@POS:31@"+lst_bbst+BBS_SS+"@POS:42@"+lst_node+NODES+"@POS:46@"+lst_idnt+"Node 1 "+N1+"@POS:67@"+lst_mdmt+n1m
- let otl_2 = lst_cmnt+comment+"@POS:46@"+lst_idnt+"Node 2 "+N2+"@POS:67@"+lst_mdmt+n2m
- IF (nodes = "1") let otl_2 = lst_cmnt+comment
- let otl_3 = "@POS:46@"+lst_idnt+"Node 3 "+N3+"@POS:67@"+lst_mdmt+n3m
- let otl_4 = "@POS:46@"+lst_idnt+"Node 4 "+N4+"@POS:67@"+lst_mdmt+n4m
- let otl_5 = "@POS:46@"+lst_idnt+"Node 5 "+N5+"@POS:67@"+lst_mdmt+n5m
- let otl_6 = "@POS:46@"+lst_idnt+"Node 6 "+N6+"@POS:67@"+lst_mdmt+n6m
- let otl_7 = "@POS:46@"+lst_idnt+"Node 7 "+N7+"@POS:67@"+lst_mdmt+n7m
- let otl_8 = "@POS:46@"+lst_idnt+"Node 8 "+N8+"@POS:67@"+lst_mdmt+n8m
- let otl_9 = "@POS:46@"+lst_idnt+"Node 9 "+N9+"@POS:67@"+lst_mdmt+n9m
-
- PRINTLN otl_1
- ;PRINTLN otl_11
- PRINTLN otl_2
- NEWLINE
- PRINTLN "@X07If you have more than 2 nodes, they will be included in the list."
- NEWLINE
- :YAY
- ;PRINT "@X0EAdd to BBS List ? (Y/N)"
- ;INPUTTEXT "",add_to_list,@X0E,1
- INPUTSTR "Add to BBS List ? (Y/N)",add_to_list,@X0E,1,"NnYy",0
- IF (add_to_list = "Y") THEN
- goto ADD2LIST
- ELSEIF (add_to_list = "y") THEN
- goto ADD2LIST
- ENDIF
- IF (add_to_list = "N") goto TOP
- IF (add_to_list = "n") goto TOP
- goto YAY
-
- :ADD2LIST
- FAPPEND 1,PPEPATH()+"BBS.LOG",O_WR,S_DW
- LET lll = "@X0F"+UN_NAME()+"@X07 added @X03"+bbs_name
- FPUTLN 1,lll
- FCLOSE 1
- FAPPEND 1,PPEPATH()+"BBS.LST",O_WR,S_DW
-
- FPUTLN 1,otl_1
- ;FPUTLN 1,otl_11
- FPUTLN 1,otl_2
- IF (nodes = "1") goto BBSADDED
- IF (nodes = "2") goto BBSADDED
- FPUTLN 1,otl_3
- IF (nodes = "3") goto BBSADDED
- FPUTLN 1,otl_4
- IF (nodes = "4") goto BBSADDED
- FPUTLN 1,otl_5
- IF (nodes = "5") goto BBSADDED
- FPUTLN 1,otl_6
- IF (nodes = "6") goto BBSADDED
- FPUTLN 1,otl_7
- IF (nodes = "7") goto BBSADDED
- FPUTLN 1,otl_8
- IF (nodes = "8") goto BBSADDED
- FPUTLN 1,otl_9
- FCLOSE 1
- :BBSADDED
- NEWLINE
- ;IF (nodes > 9) PRINTLN "Only The First Nine Nodes were Listed"
- LOG "User has added a New BBS!",FALSE
- PRINTLN "BBS Added, Successfully. Now Exiting to the BBS"
- PRINTLN "To View Addition, just re-enter this program!"
- NEWLINE
- PRINTLN "@X0AStrike a Key to Continue . . ."
- LET main_bbs_command = INKEY()
- NEWLINES 2
- END
- :theend
- LOG "User Exited the BBS PPE",FALSE
- goto therealend
- :modemz
- IF (modemnum = 1) THEN
- let mtype = "16.8H / 14.4V"
- ELSEIF (modemnum = 2) THEN
- let mtype = "14.4H / 14.4V"
- ELSEIF (modemnum = 3) THEN
- let mtype = "14.4H / 9600V"
- ELSEIF (modemnum = 4) THEN
- let mtype = "16,800 HST"
- ELSEIF (modemnum = 5) THEN
- let mtype = "144/96 HST"
- ELSEIF (modemnum = 6) THEN
- let mtype = "14,400 V32bis"
- ELSEIF (modemnum = 7) THEN
- let mtype = "9,600 v.32"
- ELSEIF (modemnum = 8) THEN
- let mtype = "CompuCOM"
- ELSEIF (modemnum = 9) THEN
- let mtype = "Hayes"
- ELSEIF (modemnum = 10) THEN
- let mtype = "Hayes+14.4V"
- ELSEIF (modemnum = 11) THEN
- let mtype = "UDS 9600+"
- ELSEIF (modemnum = 12) THEN
- let mtype = "Zyxel"
- ELSEIF (modemnum = 13) THEN
- let mtype = "2400/Below"
- ELSEIF (modemnum = 14) THEN
- let mtype = "Other 9600+"
- ELSEIF (modemnum = 15) THEN
- let mtype = "21.6H / 19.2V"
- ELSEIF (modemnum = 99) THEN
- gosub dfmodemx
- ELSEIF (modemnum < 1) THEN
- let mtype = "INVALID"
- ELSEIF (modemnum > 15) THEN
- let mtype = "INVALID"
- ENDIF
- RETURN
- :DFMODEMX
- NEWLINE
- CLS
- DISPFILE PPEPATH()+"BBS.DYM",0
- INPUTTEXT "@X0F Your NEW Modem Type ",mtype,@X03,13
- CLS
- DISPFILE PPEPATH()+"BBS.MDM",0
- NEWLINE
- RETURN
- :MMTYPE
- let modemnum = 1
- INPUTINT ")@POS:35@Modem Type (#)",modemnum,@X03
- RETURN
- :INVALID_BBSTYPE
- NEWLINES 2
- PRINTLN "@X0CInvalid BBS Type # Entered. Try Again"
- NEWLINE
- WAIT
- RETURN
- :FE
- CLS
- PRINTLN "@X07BBS.CFG does not exist, or has been damaged. Notify the sysop"
- PRINTLN "IMMEDIATELY! @BEEP@"
- NEWLINES 2
- :THEREALEND
-